﻿namespace HuaWeiCamera.Enums.Alarm
{
    /// <summary>
    /// 告警类型,注意:该枚举类型与智能的ALARM_TYPE_E保持完全一致
    /// </summary>
    public enum PU_ALARM_TYPE
    {
        PU_ALARM_TYPE_DI = 1,               // 开关量输入
        PU_ALARM_TYPE_DISK_FULL,            // 硬盘满告警
        PU_ALARM_TYPE_NO_SIGNAL,            // 无视频告警（视频丢失）
        PU_ALARM_TYPE_MOVE_DECTION,         // 移动侦测告警
        PU_ALARM_TYPE_DISK_FAULT,           // 硬盘故障
        PU_ALARM_TYPE_SHIELD,               // 遮挡告警，包括智能遮挡告警
        PU_ALARM_TYPE_NETWORK_INTERRUPT,    // 网络中断
        PU_ALARM_TYPE_IP_ADDRESS_CONFLICT,  // IP冲突
        PU_ALARM_TYPE_TEMPERATURE,          // 温度告警
        PU_ALARM_TYPE_FACE_DETECTION,       // 人脸检测
        PU_ALARM_TYPE_INVADE,               // 拌线检测
        PU_ALARM_TYPE_COUNT,                // 目标计数
        PU_ALARM_TYPE_DISTURB,              // 干扰检测

        /* 智能告警 */
        PU_ALARM_TYPE_TRIPWIRE = 14,   // 越线检测
        PU_ALARM_TYPE_INTRUSION = 15,  // 入侵检测
        PU_ALARM_TYPE_HOVER = 16,      // 徘徊检测
        PU_ALARM_TYPE_LEGACY = 17,     // 遗留检测
        PU_ALARM_TYPE_REMOVE = 18,     // 移走检测

        PU_ALARM_TYPE_MEDIA_INTERRUPT = 30,  // 媒体流中断
        PU_ALARM_TYPE_DISK_EXCEPTION = 31,   // SD卡异常
        PU_ALARM_TYPE_AUDIO_EXCEPTION = 32,  // 音频异常侦测
        PU_ALARM_TYPE_STORAGE_FAIL,          // 驱动存储器告警
        PU_ALARM_TYPE_RECORDING_JOBSTATE,    // 录像任务状态变化
        PU_ALARM_TYPE_DEV_TEMPE,             // 温度芯片错误告警
        PU_ALARM_TYPE_LOG_WR,                // 日志读写告警
        PU_ALARM_TYPE_PTZ_CONFIG_WR,         // PTZ云台协议配置告警

        PU_ALARM_TYPE_FAN_PWR_BLOCKED = 38,   // 半罩球电源板风扇堵转告警
        PU_ALARM_TYPE_FAN_HEC_BLOCKED,        // 半罩球编码板风扇堵转告警
        PU_ALARM_TYPE_SFP_TEMP_HIGH,          // 光模块温度过高告警
        PU_ALARM_TYPE_SFP_TEMP_LOW,           // 光模块温度过低告警
        PU_ALARM_TYPE_SFP_VOL_HIGH,           // 光模块电压过高告警
        PU_ALARM_TYPE_SFP_VOL_LOW,            // 光模块电压过低告警
        PU_ALARM_TYPE_SFP_BIAS_HIGH,          // 光模块偏置电流过高告警
        PU_ALARM_TYPE_SFP_BIAS_LOW,           // 光模块偏置电流过低告警
        PU_ALARM_TYPE_SFP_TX_PWR_HIGH,        // 光模块发送功率过高告警
        PU_ALARM_TYPE_SFP_TX_PWR_LOW,         // 光模块发送功率过低告警
        PU_ALARM_TYPE_SFP_RX_PWR_HIGH,        // 光模块接收功率过高告警
        PU_ALARM_TYPE_SFP_RX_PWR_LOW,         // 光模块接收功率过低告警
        PU_ALARM_TYPE_SFP_LASER_TEMP_HIGH,    // 光模块laser温度过高告警
        PU_ALARM_TYPE_SFP_LASER_TEMP_LOW,     // 光模块laser温度过低告警
        PU_ALARM_TYPE_SFP_TEC_CURRENT_HIGH,   // 光模块tec电流过高告警
        PU_ALARM_TYPE_SFP_TEC_CURRENT_LOW,    // 光模块tec电流过低告警
        PU_ALARM_TYPE_DISC_PULLOUT,           // 硬盘移除
        PU_ALARM_TYPE_LIGHT_SENSOR_INCVALID,  // 光敏芯片失效告警
        PU_ALARM_TYPE_EXTERNAL_POWER_DOWN,    // 外部电源掉电告警
        PU_ALARM_TYPE_WIPER_FAILURE_ALARM,    // 雨刷失败告警
        PU_ALARM_TYPE_SFP_NOT_EXIST,          // 光模块不在位告警
        PU_ALARM_TYPE_TYPE_PTOPT_HOR_FAIL,    // 水平方向光耦失败
        PU_ALARM_TYPE_TYPE_PTOPT_VER_FAIL,    // 垂直方向光耦失败

        PU_ALARM_TYPE_ITS_RADAR_EXCEPTION_ALARM = 62,  // its雷达异常的告警
        PU_ALARM_TYPE_ITS_IOCOIL_EXCEPTION_ALARM,      // its的IO线圈异常的告警
        PU_ALARM_TYPE_ITS_485COIL_EXCEPTION_ALARM,     // its的485线圈异常的告警
        PU_ALARM_TYPE_ITS_REDTOR_EXCEPTION_ALARM,      // its红绿灯检测器异常的告警
        PU_ALARM_TYPE_LENS_FAILURE_ALARM,              // 镜头PT光耦失效告警

        /* 硬件模块告警新增: 注意不能篡改其他值, 不能超过 200 */
        PU_ALARM_TYPE_AUDIO_UP = 100,  // 音频陡升
        PU_ALARM_TYPE_AUDIO_DOWN,      // 音频陡降

        PU_ALARM_TYPE_ENTER,              // 区域进入检测
        PU_ALARM_TYPE_EXIT,               // 区域离开检测
        PU_ALARM_TYPE_FASTMOVE,           // 快速移动检测
        PU_ALARM_TYPE_CPU_HIGHT,          // CPU过高告警
        PU_ALARM_TYPE_MEM_HIGHT,          // 内存过高告警
        PU_ALARM_TYPE_SCENECHANGE = 107,  // 场景变更
        PU_ALARM_TYPE_AUTOTRACKING,       // 自动跟踪
        PU_ALARM_TYPE_OUTOFFOCUS_DETECT,  // 虚焦检测
        PU_ALARM_TYPE_CROWD_ANALYSIS,     // 人员聚集

        PU_ALARM_TYPE_SHAKE_DIAGNOSIS,        // 抖动检测
        PU_ALARM_TYPE_FROZEN_DIAGNOSIS,       // 视频画面冻结
        PU_ALARM_TYPE_SNOW_NOISE_DIAGNOSIS,   // 雪花噪声检测
        PU_ALARM_TYPE_STRIPENOISE_DIAGNOSIS,  // 条纹噪声检测
        PU_ALARM_TYPE_BRIGHT_DIAGNOSIS,       // 增益失衡
        PU_ALARM_TYPE_COLORCAST_DIAGNOSIS,    // 偏色检测

        PU_ALARM_TYPE_CAR_DETECTION,  // 停车侦测
        PU_ALARM_TYPE_HUMAN_COUNT,    // 过线统计
        PU_ALARM_TYPE_FD_DL,          // 3559人脸检测

        PU_ALARM_TYPE_QUEUE_DETECT = 121,       // 排队长度
        PU_ALARM_TYPE_CROWD_DENSITY_DETECT,     // 人群密度
        PU_ALARM_TYPE_ILLEGAL_PARKING,          // 违停球
        PU_ALARM_TYPE_VLPR_TRAFFIC_CONGESTION,  // 交通拥堵
        PU_ALARM_TYPE_TRAFFIC_CONGESTION,       // ITS交通拥堵

        PU_ALARM_TYPE_FACE_RECOGNITION = 130,  // 3559人脸识别

        PU_ALARM_TYPE_HBA_FIGHTING = 135,         // 打架
        PU_ALARM_TYPE_HBA_CLIMBING,               // 攀爬
        PU_ALARM_TYPE_HBA_FALL_DOWN,              // 跌倒
        PU_ALARM_TYPE_HBA_RUNNING,                // 跑步
        PU_ALARM_TYPE_FIRE_DETECT,                //火点
        PU_ALARM_TYPE_TEMPERATURE_CONTROL,        //温控

        PU_LPR_CAPTURE_RES = 200,         // 车牌抓拍结果
        PU_MANUAL_LPR_CAPTURE_RES = 201,  // 手动车牌抓拍结果
        PU_AUTOTRANS_FACEPIC_RES = 202,             //断网重连自动发送图片

        PU_ALARM_TYPE_HTTPS_CERT_EXPIRE = 300,    // https证书超期告警
        PU_ALARM_TYPE_HTTPS_CERT_WILL_EXPIRE,     // https证书即将超期告警
        PU_ALARM_TYPE_DOT1X_CERT_EXPIRE,          // 802.1x证书超期告警
        PU_ALARM_TYPE_DOT1X_CERT_WILL_EXPIRE,     // 802.1x证书即将超期告警
        PU_ALARM_TYPE_SDK_PWD_STILL_INITIAL_PWD,  // SDK密码未修改

        PU_AlARM_TYPE_PTZ_MOVE,                // genetec PTZ 移动
        PU_ALARM_TYPE_SSH_OPEN = 306,          // SSH被打开
        PU_ALARM_TYPE_SDK_USR_LOCK = 307,      // SDK用户被锁定
        PU_ALARM_TYPE_WEB_USR_LOCK = 308,      // WEB用户被锁定
        PU_ALARM_TYPE_ONVIF_USR_LOCK = 309,    // ONVIF用户被锁定
        PU_ALARM_TYPE_GENETEC_USR_LOCK = 310,  // GENETEC用户被锁定

        PU_ALARM_TYPE_DOT1X_CA_CERT_EXPIRE,       // 802.1x CA证书超期告警
        PU_ALARM_TYPE_DOT1X_CA_CERT_WILL_EXPIRE,  // 802.1x CA证书即将超期告警

        PU_ALARM_TYPE_WEB_PWD_EXPIRE,     // WEB密码超期告警
        PU_ALARM_TYPE_ATTITUDE_ABNORMAL,  // 姿态异常告警类型

        PU_ALARM_TYPE_VE_ILLEGAL_PARKING = 400,  // 违章停车
        PU_ALARM_TYPE_VE_ON_VEHICLE_LANE,        // 非占机
        PU_ALARM_TYPE_VE_ON_NONEVEHICLE_LANE,    // 机占非
        PU_ALARM_TYPE_VE_PRESSING_LINE,          // 压线
        PU_ALARM_TYPE_VE_WRONG_DIRECTION,        // 逆行
                                                 // PU_ALARM_TYPE_VE_ABNORMAL_PLATE,            // 异常车牌，注意不要删除，智能要求暂时注释掉，后面还要放开
        PU_ALARM_TYPE_VE_REVERSE = 406,  // 倒车,由于异常车牌没有删掉，为了枚举值和智能保持一致，此处写死为406
        PU_ALARM_TYPE_VE_SHELTER_PLATE,  //遮挡车牌

        // 多机互助
        PU_ALARM_TYPE_SLAVE_RTSP_KEEP_ALIVE_FAIL = 500,  // 从机rtsp保活失败
        PU_ALARM_TYPE_SLAVE_STREAM_NORMAL = 506,         // 从机rtsp流正常; 多目(动点)设备上、下线事件

        PU_ALARM_TYPE_WIFI_ALARM = 550,             // wifi异常
        PU_ALARM_TYPE_UPDATE_ROLLBACK_ALARM = 560,  // 升级版本失败回退告警

        PU_ALARM_TYPE_ITS_485STROBE_EXCEPTION_ALARM = 562,  // 485频闪灯告警
        PU_ALARM_TYPE_ALL,                                  // 所有告警
        PU_ALARM_TYPE_MAX                                   // 预留

    }
}
